package pers.cz.netty.protocal;

/**
 * @program: PostGirl-panent
 * @description: 定义消息类型枚举
 * @author: Cheng Zhi
 * @create: 2022-10-04 15:21
 **/
public enum MsgType {

    DATA((byte)0, "普通数据包"),
    PING((byte)1, "客户端发送给服务器端的心跳包"),
    PONG((byte)2, "服务器端回复客户端的心跳包"),
    AUTH((byte)3, "登录数据包"),
    REGIST((byte)4, "注册数据包"),
    CREATEGROUP((byte)5, "创建群聊"),
    SHOW((byte)6, "展示在线用户");

    private byte code;
    private String remark;

    private MsgType(byte code, String remark) {
        this.code = code;
        this.remark = remark;
    }

    public byte type() {
        return this.code;
    }

    public static MsgType getMsgType(byte type) {
        for (MsgType value : values()) {
            if (value.type() == type) {
                return value;
            }
        }
        return null;
    }
}
